package utils

import (
	"github.com/joho/godotenv"
	"github.com/spf13/viper"
	"log/slog"
	"os"
)

var (
	Conf config
)

type config struct {
}

func InitConf(conf string) {
	// 加载环境变量
	if err := godotenv.Load(); err != nil {
		slog.Error("err loading .env file", "err", err)
		os.Exit(1)
	}
	// 初始化配置文件
	viper.SetConfigFile(conf)
	if err := viper.ReadInConfig(); err != nil {
		slog.Error("read config failed,", "err", err)
		os.Exit(1)
	}
	if err := viper.Unmarshal(&Conf); err != nil {
		slog.Error("init config failed,", "err", err)
		os.Exit(1)
	} else {
		slog.Debug("init config success,", "config", Conf)
	}
}
